#ifndef BASEOP_H
#define BASEOP_H


#include <QByteArray>
#include <QString>
#include <QDebug>
#include <QList>

#include "para.h"

namespace SDHuaYi_Script
{
    class BaseOP
    {
    public:
        BaseOP();

        /* 字符串转byte */
        QByteArray StrToHexByte(QString &hexString);

        /* 带有字母的字符串转换为16进制字符串 */
        QString StrTohexStr(QString &strStrs);

        /* byte数组转十六进制 */
        QString ToHexString(const QByteArray &bytes, int length);

        /* 向字符串中添加空格 */
        // QString Blanks_Filled(QString sContent);
        /* TODO:此处有几个函数没有引用记录，暂时未添加进来 */

        /* 更新qlist */
        int ParaUpdate(QList<Para> &para, Para &var1);

        /* 插入qlist，用于变量定义语句 */
        int ParaInsert(QList<Para>& para, Para var1);

        /* qlist元素值查询 */
        QString ParaQuery(QList<Para> &paras, QString &sDataIn);

        /* byte转int */
        int Hex2Int(QByteArray hex);

        /* 单字节16进制字符串转int */
        static qint16 HexToInt16(QString &p_strRam);

        /* 获取最终空间 */
        QString GetNewROOM(QString sPatchStaD, QString sROOM, QString sMFStaD);
    };

}

#endif // BASEOP_H
